Interrupt_Kernel Interface

Interrupt
<linux/interrupt.h>
1. 인터럽트 비활성화/활성화 (macro)
local_irq_disable();
local_irq_enable();
2. 인터럽트 비활성화/활성화 시 status register 저장/복원 (macro)
unsigned long flags;
local_irq_save(flags);
local_irq_restore(flags);
3. 인터럽트 핸들러 등록/해제
//
int request_irq(unsigned int irq,
irqreturn_t (*handler)(int, void*, struct pt_regs*),
unsigned long irqflags,
const char* devname,
void* device);
//
void free_irq(unsigned int irq, void* devid);